package com.naiterui.ehp.bs.patient.service;

import com.naiterui.ehp.bp.domain.Hospital;
import com.naiterui.ehp.bp.support.exception.BusinessException;
import com.naiterui.ehp.bs.patient.vo.common.HospitalVO;
import java.util.List;
import javax.servlet.http.HttpServletRequest;

/**
 * 医院业务接口
 * <P>File name : IHospitalService.java </P>
 * <P>Author : NTR.Amber </P>
 * <P>Date : 2015年9月11日 </P>
 */
public interface IHospitalService {
    /**
     * 获取医院列表
     * IHospitalService.getHospitalList()<BR>
     * <P>Author : Amber </P>
     * <P>Date : 2015年9月11日 </P>
     * @param cityId
     * @param name
     * @return
     */
    List<HospitalVO> getHospitalList(Integer cityId, String name);

    /**
     * 查找医院
     * IHospitalService.getHospitalById()<BR>
     * <P>Author : Amber </P>
     * <P>Date : 2015年9月13日 </P>
     * @param id
     * @return
     */
    Hospital getHospitalById(Integer id);

    /**
     * <搜索医院>
     * <详细描述>
     * @param keyword TODO
     * @return String <返回值描述>
     * @Throws 异常信息
     * @History 2015年10月19日 下午8:35:10 by Amber
     */
    String searchHospitals(String keyword) throws BusinessException;

    /**
     * 定位城市+关键字搜索医院
     * @param keyword
     * @param request
     * @return
     * @throws BusinessException
     */
    List<HospitalVO> searchByCity(String keyword, HttpServletRequest request) throws BusinessException;

    /**
     * 根据客户端坐标定位搜索医院
     * @param keyword 关键字
     * @param lat 经度
     * @param lng 维度
     * @return
     * @throws BusinessException
     */
    List<HospitalVO> searchByLocation(String keyword, String lat, String lng) throws BusinessException;
}
